resource "aws_iam_role_policy_attachment"
GPT-4.icon
IAM ロールにインラインポリシーをアタッチするリソース です。
code:hcl (rb)
resource "aws_iam_role_policy" "example" {
name = "example-policy"
role = aws_iam_role.example.name
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = [
"s3:ListBucket",
]
Effect = "Allow"
Resource = "arn:aws:s3:::example_bucket"
},
]
})
}
name
ポリシーの名前。IAM上のインラインポリシー名になる。
role
アタッチ対象の IAM ロール名。
policy
IAM ポリシー
3. そもそも「インラインポリシー」とは?
IAMポリシーには「インラインポリシー」と「マネージドポリシー」がある。
aws_iam_role_policy は インラインポリシー をアタッチする。
インラインポリシーは その IAM ロール専用のポリシー であり、他のロールで再利用できない。
マネージドポリシーを使いたい場合は、aws_iam_policy_attachment などを使う。
4. いつ使うか?
使い捨てのポリシー を付与したいとき。
他のロールで使い回さないポリシーを簡単にアタッチしたいとき。
関連
再利用可能なカスタムポリシーを作成する。
カスタムポリシーを複数の IAM ロール、ユーザー、グループにアタッチする。